// var i;
// var $eventManager = require("./EventManager");
// var $logManager = require("./LogManager");
// var $resKeeper = require("./ResKeeper");
// var u = cc._decorator;
// var d = u.ccclass;
// var p = (u.property, u.inspector);
// var h = (function (e) {
//     function t() {
//         return (null !== e && e.apply(this, arguments)) || this;
//     }
//     __extends(t, e);
//     t.prototype.onEnable = function () {
//         this.node.children[0].active = !1;
//         this.node.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
//     };
//     t.prototype.onDisable = function () {
//         this.node.off(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
//     };
//     t.prototype.onTouchStart = function (e) {
//         var t = this;
//         $logManager.LogMgr.debug("x", e.getLocationX(), "y", e.getLocationY());
//         $eventManager.EventMgr.dispatchEvent("zuobiaozhuanhuan", e.getLocation(), function (e) {
//             var o = t.node.convertToNodeSpaceAR(e);
//             t.node.children[0].x = o.x;
//             t.node.children[0].y = o.y;
//             $eventManager.EventMgr.dispatchEvent("clicksend", t.node.children[0]);
//         });
//     };
//     return __decorate([d], t);
// })($resKeeper.default);
// exports.default = h;

// import { EventMgrInstance } from "./EventManager";
// import { LogMgr } from "./LogManager";
// import ResKeeper from "./ResKeeper";

// const { ccclass, property, inspector } = cc._decorator;

// /**
//  * 建议类名：TouchHandler
//  */
// @ccclass
// class UI_TouchClick extends ResKeeper {
//     /**
//      * 当节点启用时调用
//      * 建议方法名：handleEnable
//      */
//     onEnable(): void {
//         // 禁用第一个子节点
//         this.node.children[0].active = false;
//         // 监听触摸开始事件
//         this.node.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
//     }

//     /**
//      * 当节点禁用时调用
//      * 建议方法名：handleDisable
//      */
//     onDisable(): void {
//         // 取消监听触摸开始事件
//         this.node.off(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
//     }

//     /**
//      * 触摸开始事件处理函数
//      * @param event 触摸事件
//      * 建议方法名：handleTouchStart
//      */
//     onTouchStart(event: cc.Event.EventTouch): void {
//         // 记录触摸位置
//         LogMgr.debug("x", event.getLocationX(), "y", event.getLocationY());
//         // 转换触摸位置并更新子节点位置
//         EventMgrInstance.dispatchEvent("zuobiaozhuanhuan", event.getLocation(), (location: cc.Vec2) => {
//             const localPos = this.node.convertToNodeSpaceAR(location);
//             this.node.children[0].x = localPos.x;
//             this.node.children[0].y = localPos.y;
//             // 触发点击发送事件
//             EventMgrInstance.dispatchEvent("clicksend", this.node.children[0]);
//         });
//     }
// }

// export default UI_TouchClick;

import { EventMgrInstance } from "./EventManager";
import { LogMgr } from "./LogManager";
import ResKeeper from "./ResKeeper";

const { ccclass, property, inspector } = cc._decorator;

/**
 * 建议类名：TouchHandler
 */
@ccclass
class ViewTouchClick extends ResKeeper {
    /**
     * 当节点启用时调用
     * 建议方法名：handleEnable
     */
    onEnable(): void {
        // 禁用第一个子节点
        this.node.children[0].active = false;
        // 监听触摸开始事件
        this.node.on(cc.Node.EventType.TOUCH_START, this.handleTouchStart, this);
    }

    /**
     * 当节点禁用时调用
     * 建议方法名：handleDisable
     */
    onDisable(): void {
        // 取消监听触摸开始事件
        this.node.off(cc.Node.EventType.TOUCH_START, this.handleTouchStart, this);
    }

    /**
     * 触摸开始事件处理函数
     * @param event 触摸事件
     * 建议方法名：handleTouchStart
     */
    handleTouchStart(event: cc.Event.EventTouch): void {
        // 记录触摸位置
        LogMgr.debug("Touch Position - x:", event.getLocationX(), "y:", event.getLocationY());

        // 转换触摸位置并更新子节点位置
        EventMgrInstance.emitEvent("zuobiaozhuanhuan", event.getLocation(), (convertedLocation: cc.Vec2) => {
            const localPos = this.node.convertToNodeSpaceAR(convertedLocation);
            const childNode = this.node.children[0];
            
            childNode.x = localPos.x;
            childNode.y = localPos.y;

            // 触发点击发送事件
            EventMgrInstance.emitEvent("clicksend", childNode);
        });
    }
}

export default ViewTouchClick;